package com.day01_Array;

/**
 * @ClassName: BubbleSort
 * @Author: zw
 * @Description: 出百万拳，行万里路；
 * @Create 2024/6/23-10:26
 * @Version 1.0
 */
public class BubbleSort {
    public static void main(String[] args) {
        test();
    }
    public static int[] bubbleSort(int[] nums) {
        if (nums == null || nums.length == 0) {
            return new int[]{0};
        }
        // 思路
        // 首先内存for 循环完成后， 最大的一个数保证到数组的最后面；
        // 执行内层的for 最大的数都会到数组的最后面
        // 一共要执行nums.length -1 次； 这就是外层for循环的作用
        for (int j = 0; j < nums.length - 1; j++ ) {
            for (int i =0 ; i < nums.length - 1; i++) {
                if (nums[i] > nums[i+1]) {
                    int tem = nums[i];
                    nums[i] = nums[i+1];
                    nums[i+1] = tem;
                }
            }
        }
        return nums;
    }

    public static void test() {
        int[] nums = {32,45,114,557,34,2};
        int[] ints = bubbleSort(nums);
        for (int i : ints) {
            System.out.println(i);
        }
    }
}
